package com.aiti.lulian.service;

import com.aiti.base.core.base.service.BaseService;
import com.aiti.base.core.utils.message.Message;
import com.aiti.lulian.dto.CardPromotionDto;
import com.aiti.lulian.entity.crad.promotion.CardPromotion;
import com.aiti.lulian.vo.CardPromotionVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

public interface ICardPromotionService extends BaseService<CardPromotion> {

    Message promotionList(Page page, CardPromotionDto dto);

    Message deletePromotion(String baseId);

    Message setRatio(CardPromotionDto dto);

    Message addPromoter(CardPromotionDto cardPromotionDto);

    CardPromotionVo getPromoterByBaseId(String baseId);

    Message updatePromoter(CardPromotionDto cardPromotionDto);

    Message queryPromoterByEnterpriseId(String enterpriseId);

    Message queryIsDeletable(String baseId);

    Message queryPromoterByEnterpriseIdExcludeSelection(String enterpriseId, String userId);

    Message withdraw(CardPromotionDto dto);
}